IT organizations today face several challenges when it comes to protecting data in their environments. The rapid growth of data volumes combined with regulatory mandates means that IT departments are now being subjected to stricter service level agreements (SLA) when it comes to backup windows, recovery time objectives (RTO), and recovery point objectives (RPO). The data protection model of yesteryear was often decentralized and primarily based on tape and physical servers. Keeping data forever is not likely to meet the data protection challenges that the IT organizations are facing today. The need for addressing these data protection challenges is driving IT organizations to explore the next generation of information management tools. These next generation tools, such as disk based backups, deduplication, virtualization, archiving, and continuous data protection, are essentially revolutionizing the world of data protection. However, additional tools often also mean additional complexity in terms of managing multiple point solutions.
In complex application environments, backup and recovery solutions may need to know which resources comprise an application. For example, when an application needs to be started or shut down (e.g., for recovery, migration, etc.), a backup solution may need to know which commands to use not only to offline the application, but the underlying storage stack. To offline a resource of a storage stack, a traditional backup solution may access user definitions of offline commands, hard coded commands, or may load a command library associated with an application. Such solutions may also require that the actor know something about the application stack (or have it defined for them via user intervention) and possibly deal with version issues between production and recovery hosts. As a result, application recovery may involve significant user input and may not be repeatable, particularly in complex computing environments. What is needed, therefore, is a more efficient and effective mechanism for managing applications.